Navigation satellite systems (NSS) include both global navigation satellite systems (GNSS) and regional navigation satellite systems (RNSS), such as the Global Positioning System (GPS) (United States), GLONASS (Russia), Galileo (Europe), BeiDou (China), QZSS (Japan), and the Indian Regional Navigational Satellite System (IRNSS) (systems in use or in development). A NSS typically uses a plurality of satellites orbiting the Earth. The plurality of satellites forms a constellation of satellites. A NSS receiver detects a code modulated on an electromagnetic signal broadcast by a satellite. The code is also called a ranging code. Code detection includes comparing the bit sequence modulated on the broadcasted signal with a receiver-side version of the code to be detected. Based on the detection of the time of arrival of the code for each of a series of the satellites, the NSS receiver estimates its position. Positioning includes, but is not limited to, geolocation, i.e. the positioning on the surface of the Earth.
An overview of GPS, GLONASS and Galileo is provided for instance in sections 9, 10 and 11 of Hofmann-Wellenhof B., et al., GNSS, Global Navigation Satellite Systems, GPS, GLONASS, Galileo, & more, Springer-Verlag Wien, 2008, (hereinafter referred to as “reference [1]”).
Positioning using NSS signal codes provides a limited accuracy, notably due to the distortion the code is subject to upon transmission through the atmosphere. For instance, the GPS includes the transmission of a coarse/acquisition (C/A) code at about 1575 MHz, the so-called L1 frequency. This code is freely available to the public, whereas the Precise (P) code is reserved for military applications. The accuracy of code-based positioning using the GPS C/A code is approximately 15 meters, when taking into account both the electronic uncertainty associated with the detection of the C/A code (electronic detection of the time of arrival of the pseudorandom code) and other errors including those caused by ionospheric and tropospheric effects, ephemeris errors, satellite clock errors and multipath propagation.
An alternative to positioning based on the detection of a code is positioning based on carrier phase measurements. In this alternative approach or additional approach (ranging codes and carrier phases can be used together for positioning), the carrier phase of the NSS signal transmitted from the NSS satellite is detected, not (or not only) the code modulated on the signal transmitted from the satellite.
The approach based on carrier phase measurements has the potential to provide much greater position precision, i.e. down to centimeter-level or even millimeter-level precision, compared to the code-based approach. The reason may be intuitively understood as follows. The code, such as the GPS C/A code on the L1 band, is much longer than one cycle of the carrier on which the code is modulated. The position resolution may therefore be viewed as greater for carrier phase detection than for code detection.
However, in the process of estimating the position based on carrier phase measurements, the carrier phases are ambiguous by an unknown number of cycles. The phase of a received signal can be determined, but the number of cycles cannot be directly determined in an unambiguous manner. This is the so-called “integer ambiguity problem”, “integer ambiguity resolution problem” or “phase ambiguity resolution problem”, which may be solved to yield the so-called fixed solution.
GNSS observation equations for code observations and for carrier phase observations are for instance provided in reference [1], section 5. An introduction to the GNSS integer ambiguity resolution problem, and its conventional solutions, is provided in reference [1], section 7.2. The skilled person will recognize that the same or similar principles apply to RNSS systems.
The main GNSS observables are therefore the carrier phase and code (pseudorange), the former being much more precise than the latter, but ambiguous. These observables basically enable a user to obtain the geometric distance from the receiver to the satellite. With known satellite position and satellite clock error, the receiver position can be estimated.
As mentioned above, the GPS includes the transmission of a C/A code at about 1575 MHz, the so-called L1 frequency. More precisely, each GPS satellite transmits continuously using two radio frequencies in the L-band, referred to as L1 and L2, at respective frequencies of 1575.42 MHz and 1227.60 MHz. With the ongoing modernization of the GPS, signals on a third frequency will be available. Among the two signals transmitted on L1, one is for civil users and the other is for users authorized by the United States Department of Defense (DoD). Signals are also transmitted on L2, for civil users and DoD-authorized users. Each GPS signal at the L1 and L2 frequency is modulated with a pseudo-random number (PRN) code, and with satellite navigation data. Two different PRN codes are transmitted by each satellite: a C/A code and a P code which is encrypted for DoD-authorized users. Each C/A code is a unique sequence of 1023 bits, which is repeated each millisecond. Other NSS systems also have satellites transmitting multiple signals on multiple carrier frequencies.
FIG. 1 schematically illustrates a prior art NSS system 100. Receiver 110 receives NSS signals from any number of satellites in view, such as at 120, 130 and 140. The signals pass through the earth's ionosphere 150 and through the earth's troposphere 160. Each signal has multiple carrier frequencies, such as frequencies L1 and L2. Receiver 110 determines from the signals respective pseudo-ranges PR1, PR2, . . . , PRm, to the satellites. Pseudo-range determinations are distorted by signal-path variations resulting from passage of the signals through the ionosphere 150 and the troposphere 160, and from multipath effects, as indicated schematically at 170. Pseudo-ranges can be determined using the C/A code with an error of about one meter. However, the phases of the L1 and L2 carriers can be measured with an accuracy of 0.01 to 0.05 cycles (corresponding to pseudo-range errors of 2 mm to 1 cm). Phase measurements of the carriers are influenced by the dispersive effects of the ionosphere, which vary over time.
The processing of the phase observations leads to a much higher accuracy, which can be advantageously used for precise NSS positioning. The phase observations are ambiguous by the ambiguity term which is a product of an unknown integer number and the wavelength of the carrier signal. These unknowns could be handled by simply being estimated as float numbers within the GNSS parameter estimation. The corresponding position result is a so-called float solution. Another possibility is to fix them to their integer values by corresponding methods and introduce them in the GNSS parameter estimation. By doing so, the number of unknowns is reduced drastically and the accuracy of the positioning result, the fixed solution, is better than the float solution (as explained for example in: Joosten and Tiberius (2000): Fixing the ambiguities—are you sure they are right?, GPS world, 11(5), pp. 46-51).
Artificial observations can also be computed from the original ones by forming linear combinations. This is true both for the code and phase observations. These linear combinations have different properties compared to the original observations. Popular linear combinations include: the Melbourne-Wuebbena (MW) linear combination, the widelane linear combination, the geometric-free linear combination (also called ionospheric linear combination) and the ionospheric-free linear combination (also called geometric linear combination). Some combinations have properties that are specifically beneficial for some dedicated applications (as explained for example in: WO 2011/034616 A2, hereinafter referred to as reference [2]).
Relative positioning allows common-mode errors to be mitigated by differencing the observations of the rover station with observations of a reference station at a known location near the rover station, e.g. within 2 to 10 km. By using the network-based Real Time Kinematic (RTK) techniques, the spacing of the reference stations can be increased to 50 to 100 km.
Precise point positioning (PPP), also called absolute positioning, uses a single GNSS receiver together with precise satellite orbit and clock data to reduce satellite-related error sources. A dual-frequency receiver can remove the first-order effect of the ionosphere by using the ionospheric-free linear combination. Afterwards, position solutions are accurate in a range of centimeters to decimeters. The utility of PPP is limited by the need to wait longer than desired for the float position solution to converge to centimeter accuracy. This waiting time is called convergence time. In contrast to relative positioning techniques in which common-mode errors are reduced by differencing of observations, PPP processing uses undifferenced carrier-phase observations so that the ambiguity terms are corrupted by satellite and receiver phase biases unless the effects are modelled. Methods have been proposed for integer ambiguity resolution in PPP processing. See for example reference [2], and Y. Gao et al. (2006): Precise Point Positioning and Its Challenges, Inside GNSS, 1(8), pp. 16-18.
Embodiments described in WO 2011/034614 A2 (hereinafter referred to as reference [3]) generate synthetic base station data preserving the integer nature of carrier phase data. A set of corrections is computed per satellite (a MW-bias, a code leveled clock error and a phase leveled clock error) from global network data. Using these corrections, a rover station can use the MW-combination to determine widelane ambiguities and use ionospheric-free code/phase observations to determine the N1 (narrowlane) ambiguities. With the determined ambiguities, the rover station can achieve centimeter-level accuracy positioning in real-time. The advantage of this approach is that it is insensitive to ionospheric activity; the disadvantage is that the convergence time is longer than desired.
In order to improve the convergence time, US 2013/0044026 A1 (hereinafter referred to as reference [4]) describes a method making use of an ionosphere model and further deriving an ionospheric-phase bias per satellite in addition to other corrections (a MW-bias, a code-leveled clock error and a phase-leveled clock error) to generate synthetic base station data. The synthetic base station data generated with this approach preserves the integer nature of carrier phase data, and it can be used for both single and dual frequency rover stations. This approach requires an ionosphere model.
There is a constant need for improving the implementation of positioning systems based notably on GNSS (or RNSS) measurements, to obtain a precise estimation of the receiver position, and in particular to quickly obtain a precise estimation, so as to increase the productivity of positioning systems.